define([ "knockout", "jquery", "text!../template/login-form.html", "ojL10n!resources/nls/login-form", "../../model/login-form" ], function(ko, $, template, ResourceBundle, loginModel) { "use strict"; var vm = function(rootParams) { var self = this; var language = sessionStorage.getItem("user-locale") || document.getElementsByTagName("html")[0].getAttribute("lang") || "vn"; ko.utils.extend(self, rootParams.rootModel); rootParams.baseModel.registerComponent("login-options", "login"); rootParams.baseModel.registerComponent("pin-login", "login"); self.username = ko.observable(); self.password = ko.observable(); self.message = ko.observable(); self.nls = ResourceBundle; self.showPopup = true; self.isChecked = ko.observable(language == 'en'); self.languageOptions = ko.observableArray(); loginModel.fetchAvailableLocale().then(function(data) { self.languageOptions(data.enumRepresentations[0].data); /*var vietnameseLanguage = self.languageOptions().find(o => o.code === "vi");*/ var vietnameseLanguage = self.searchLanguage("vn", self.languageOptions()); // if (vietnameseLanguage.code === "vn") { // rootParams.baseModel.setLocale(vietnameseLanguage.code); // } }); self.messageforgotpass = ko.observable(ResourceBundle.loginForm.labels.messageforgotpass); self.forgotUserId = function (genericViewModel) { // var l = document.createElement("a"); // l.href = decodeURIComponent(genericViewModel.queryMap.resource_url); // if(genericViewModel.queryMap.resource_url) // { // self.referrer = l.protocol + "//" + l.host; // } // else{ // self.referrer=window.location.origin; // } // window.location.href = self.referrer + "/index.html?module=forgot-userid&context=index"; rootParams.baseModel.showMessages(null, [genericViewModel.messageforgotpass()], 'INFO'); return; }; self.searchLanguage = function(nameKey, myArray) { for (var i = 0; i < myArray.length; i++) { if (myArray[i].code === nameKey) { return myArray[i]; } } }; self.isChecked.subscribe(function(v){ if(!v){ //vn rootParams.baseModel.setLocale('vn'); } else { rootParams.baseModel.setLocale('en'); } }); if (!rootParams.baseModel.large()) { self.showPopup = false; } if (rootParams.data && rootParams.data.data && rootParams.data.data.landingModule) { self.landingModule = rootParams.data.data.landingModule; } else if (rootParams.landingModule) { self.landingModule = rootParams.landingModule; } self.cancelLogin = function() { history.back(); }; if (rootParams.baseModel.cordovaDevice()) { self.type = "login-form-mobile"; } else { self.type = "login-form-web"; } rootParams.baseModel.registerComponent(self.type, "login"); }; return { viewModel: vm, template: template }; });